package com.task.sql.schedule.service;

import com.task.sql.schedule.domain.entity.SqlTask;
import com.baomidou.mybatisplus.extension.service.IService;
import com.task.sql.schedule.domain.qo.SqlTaskQO;
import com.task.sql.schedule.domain.vo.SqlTaskVO;
import com.task.sql.schedule.domain.dto.SqlTaskDTO;
import com.task.sql.schedule.common.ApiResult;
import com.task.sql.schedule.common.PageResult;

import java.util.List;

/**
 * 服务类
 *
 * @author donghai.liu
 * @time 2024-09-10
 */
public interface SqlTaskService extends IService<SqlTask> {

    /**
     * @param qo
     * @return com.task.sql.schedule.common.PageResult<com.task.sql.schedule.domain.vo.SqlTaskVO>
     * @desc 分页查询
     */
    PageResult<SqlTaskVO> page(SqlTaskQO qo);

    /**
     * @param dto
     * @return com.task.sql.schedule.common.ApiResult
     * @desc 保存
     */
    ApiResult<Long> save(SqlTaskDTO dto);

    /**
     * @param dto
     * @return com.task.sql.schedule.common.ApiResult
     * @desc 更新
     */
    ApiResult<Long> update(SqlTaskDTO dto);

    /**
     * 获取今天待执行的任务基础数据
     * @return
     */
    List<SqlTask> listPendingTasks();

}
